package com.banyuan.lesson.集合.Colleection.list;

/*
* java-有序的列表 容器 放对象的；
* c语言 顺序表；
*
* 数组也是一个容器；
*
* 数组的局限
* 1、长度固定；
*
* 容器是长度可以变化；
*
* list的特点
* 1、有序：有序不是指排序，指的是插入的顺序，输出和插入的顺序是相同；
*
* 数组实现的list；
* 数组支持快速随机查询；
* 往里面插入或者删除元素，效率极地；*/
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ArrayListDemo {
    public static void main(String[] args) {
        //<>表示容器里必须放什么类型的元素——范型；
        List<String> list = new ArrayList<>();

        list.add("aaa");
        list.add("bbb");//追加到上一个元素的尾部；
        list.add("ccc");
        System.out.println(list);

        //List的迭代的过程
        for (int i = 0; i <list.size() ; i++) {
            System.out.println(list.get(i));
        }
        //foreach 优先用
        for (String s : list) {
            System.out.println(s);
        }
        //迭代器
        Iterator<String> it = list.iterator();

        //hasNext判断有没有下一个；
        //next表示指针指向下一个；
        while(it.hasNext()){
            String s = it.next();
        }

        //iterator不可替代的作用，一边遍历元素，一边删元素；
        for (Iterator it1 = list.iterator();it1.hasNext();) {
            System.out.println(it.next());
        }

        //没有<>就表示里面是object；
        List list1 =new ArrayList();
        list1.add(123);
        list1.add("aaa");
    }
}
